package com.pro.mapper;

import com.pro.pojo.*;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * @author YuQing
 * @date 2022/1/6 19:15
 */
public interface JsProductMapper {
    //查询商品分类
    List<JsProductCategroy> getProductCategroys();
    //判断权限
    List<Integer> judgePower(Integer id);
    //获取ztree
    List<JsProductCategroy> getProductTree();
    //添加树节点
    boolean addZtree(JsProductCategroy productCategroy);
    //获取删除节点下商品数量
    Integer getProductTreeCount(Integer categroyId);
    //删除树节点
    boolean deleteZtree(Integer categroyId);
    //修改树节点
    boolean updateZtree(@Param("title") String title, @Param("categroyId") Integer categroyId);
    //点击树节点获取信息
    List<JsProduct> getCheckedProduct(JsProduct product);
    //获取商品表格
    List<JsProduct> getProductSearch(JsProduct product);
    //高级检索
    List<JsProduct> advancedSearch(JsProduct product);
    //查看商品详情
    JsProduct getProductInformation(@Param("type") Integer type,@Param("id") Integer id);
    /**
     * @author: YuQing
     * @date: 2022/1/15
     * @description: 修改商品状态
     */
    Boolean updateProductState(JsProduct product);
    /**
     * @author: YuQing
     * @date: 2022/1/15
     * @description: 查询商品审核详情
     */
    List<JsCourseRecord> getProductExamine(JsCourseRecord courseRecord);
    /**
     * @author: YuQing
     * @date: 2022/1/15
     * @description: 添加商品操作日志
     */
    Boolean addProductLog(JsLog log);
    /**
     * @author: YuQing
     * @date: 2022/1/16
     * @description: 修改商品
     */
    Boolean updateProduct(JsProduct product);
    /**
     * @author: YuQing
     * @date: 2022/1/16
     * @description: 添加历史价格详情
     */
    Boolean addProductJournal(JsCourseJournal courseJournal);
    /**
     * @author: YuQing
     * @date: 2022/1/17
     * @description: 查询商品操作日志
     */
    List<JsLog> getProductLog(JsLog log);
    /**
     * @author: YuQing
     * @date: 2022/1/17
     * @description: 删除商品操作日志
     */
    Boolean deleteProductLog(Integer id);
    /**
     * @author: YuQing
     * @date: 2022/1/18
     * @description: 查看商品历史价格详情
     */
    List<JsCourseJournal> getProductPriceLog(JsCourseJournal courseJournal);
    /**
     * @author: YuQing
     * @date: 2022/1/19
     * @description: 删除商品
     */
    Boolean deleteProduct(Integer id);
    /**
     * @author: YuQing
     * @date: 2022/1/19
     * @description: 删除商品审核
     */
    Boolean deleteProductRecord(@Param("id") Integer id,@Param("type") Integer type);
    /**
     * @author: YuQing
     * @date: 2022/1/19
     * @description: 删除商品评论
     */
    Boolean deleteProductComment(@Param("id") Integer id,@Param("type") Integer type);
    /**
     * @author: YuQing
     * @date: 2022/1/19
     * @description: 查询个人商品
     */
    List<JsProduct> getPersonalProduct(JsProduct product);
    /**
     * @author: YuQing
     * @date: 2022/1/22
     * @description: 添加商品审核
     */
    Boolean addCourseRecord(JsCourseRecord courseRecord);
    /**
     * @author: YuQing
     * @date: 2022/1/23
     * @description: 添加商品
     */
    Boolean addProduct(JsProduct product);
    /**
     * @author: YuQing
     * @date: 2022/1/24
     * @description: 获取商品编号
     */
    Integer getProductCode(Integer productCode);
    /**
     * @author: YuQing
     * @date: 2022/1/24
     * @description: 获取商品Id
     */
    JsProduct getProductId(Integer productCode);

}
